데이터 모델이란?
현실세계의 정보를 컴퓨터 시스템에서 효과적으로 저장, 관리, 활용할 수 있도록 데이터의 구조와 관계, 제약 조건 등을 체계적으로 표현한 것!
개념적 모델링
- 개체와 개체들 간의 관계에서
ERD을 만드는 과정
ERD 만들 때 사용하면 좋은 방법
ChatGPT 혹은 claude를 이용해서 erd를 설계한다면 빠른 설계가 가능하다
내가 <서비스 내용>을 만들려고 하는데 여기서 <table name> 테이블을 만들려고 해. 여기서 <Datas> 이런 데이터들이 필요한데 이걸 mermaid로 만들어줘.mermaid라고 해서 어떤 데이터를 시각화 해주는 확장자가 존재한다. 이렇게 AI한테 부탁한 다음 받은 데이터를 notion code창에 언어를 mermaid를 선택해서 붙여 넣기 하면 다음과 같은 화면을 받을 수 있으며 Ai를 이용한 백엔드 개발 상황에서도 mermaid로 작성된 코드를 바로 넣을 수 있어서 빠른 개발이 가능하다!
실제 결과
erDiagram USER { bigint user_id PK string name string rank string serial_number string role bigint unit_id FK } UNIT { bigint unit_id PK string unit_name bigint parent_unit_id FK } ATTENDANCE { bigint attendance_id PK bigint user_id FK date date string status datetime check_in_time datetime check_out_time string note } SCHEDULE { bigint schedule_id PK string title string type datetime start_time datetime end_time bigint unit_id FK } ATTENDANCE_LOG { bigint log_id PK bigint attendance_id FK bigint changed_by FK string old_status string new_status datetime changed_at } %% Relationships USER }o--|| UNIT : belongs_to UNIT ||--o{ UNIT : parent_child ATTENDANCE }o--|| USER : records SCHEDULE }o--|| UNIT : assigned_to ATTENDANCE_LOG }o--|| ATTENDANCE : tracks ATTENDANCE_LOG }o--|| USER : changed_by